5013515c8e27b28d75d8057fe32d94a54fed270b,org.metaborg.runtime.task/src/main/java/org/metaborg/runtime/task/evaluation/TaskEvaluationQueue.java,TaskEvaluationQueue,evaluate,#Set#IContext#Strategy#Strategy#Strategy#,173
Before Change
done = false;
break;
}
} else if(task.failed() || !task.results().hasResults()) {
done = false;
break;
}
// TODO: creating two sets and taking the symmetric difference is VERY expensive?
final Multiset<IStrategoTerm> oldValues = HashMultiset.create(values.get(taskID));
final Multiset<IStrategoTerm> newValues = HashMultiset.create(task.results().results());
final Multiset<IStrategoTerm> diff1 = Multisets.difference(newValues, oldValues);
final Multiset<IStrategoTerm> diff2 = Multisets.difference(oldValues, newValues);
After Change
// TODO: creating two sets and taking the symmetric difference is VERY expensive?
final Multiset<IStrategoTerm> oldValues = HashMultiset.create(values.get(taskID));
final Multiset<IStrategoTerm> newValues = HashMultiset.create(task.results());
final Multiset<IStrategoTerm> diff1 = Multisets.difference(newValues, oldValues);
final Multiset<IStrategoTerm> diff2 = Multisets.difference(oldValues, newValues);